package com.haixiaoke.saas.repository.service;


import com.haixiaoke.saas.repository.pojo.HotAttractions;
import com.haixiaoke.saas.repository.util.Tree.Node;

import java.util.List;

/**
 * 热门景点Service接口
 *
 * @author qixi
 * @date 2023-04-06
 */
public interface IHotAttractionsService {
    /**
     * 查询热门景点
     *
     * @param attractionsId 热门景点主键
     * @return 热门景点
     */
    public HotAttractions selectHotAttractionsByAttractionsId(Long attractionsId);

    /**
     * 查询热门景点列表
     *
     * @param hotAttractions 热门景点
     * @return 热门景点集合
     */
    List<HotAttractions> selectHotAttractionsList(HotAttractions hotAttractions);

    /**
     * 新增热门景点
     *
     * @param hotAttractions 热门景点
     * @return 结果
     */
    public int insertHotAttractions(HotAttractions hotAttractions);

    /**
     * 修改热门景点
     *
     * @param hotAttractions 热门景点
     * @return 结果
     */
    int updateHotAttractions(HotAttractions hotAttractions);

    /**
     * 批量删除热门景点
     *
     * @param attractionsIds 需要删除的热门景点主键集合
     * @return 结果
     */
    int deleteHotAttractionsByAttractionsIds(Long[] attractionsIds);

    /**
     * 删除热门景点信息
     *
     * @param attractionsId 热门景点主键
     * @return 结果
     */
    int deleteHotAttractionsByAttractionsId(Long attractionsId);

    boolean checkCoordinatesUnique(HotAttractions hotAttractions);

    /**
     * 批量景点查询
     *
     * @param attractionsIdList 热门景点主键
     * @return
     */
    List<HotAttractions> selectHotAttractionsByAttractionsIdIn(List<Long> attractionsIdList);

    /**
     * 批量查询景区全名
     *
     * @param attractionsIdList 热门景点主键
     * @return
     */
    String selectHotAttractionFullNamesByIdIn(List<Long> attractionsIdList);

    List<Node> selectComboListByCityId(Long cityId);
}
